The focus widget might be unset, just to be set again on a widget inside
the popover. Have the popover wait till the focus is actually moved outside
before dismissing.
{
GtkPopoverPrivate *priv = gtk_popover_get_instance_private (popover);
- if (priv->modal &&
+ if (priv->modal && widget &&
gtk_widget_is_drawable (GTK_WIDGET (popover)) &&
- (!widget || !gtk_widget_is_ancestor (widget, GTK_WIDGET (popover))))
+ !gtk_widget_is_ancestor (widget, GTK_WIDGET (popover)))
gtk_widget_hide (GTK_WIDGET (popover));
}